home *** CD-ROM | disk | FTP | other *** search
/ Programmer Plus 2007 / Programmer-Plus-2007.iso / Programming / ActiveX Controlls / NCTAudioEditor2 ActiveX DLL / NCTAudioEditor2.exe / {app} / Samples / TestDelphiAudioEditor2 / Adv.pas < prev    next >
Encoding:
Pascal/Delphi Source File  |  2003-03-28  |  3.4 KB  |  126 lines

  1. unit Adv;
  2.  
  3. interface
  4.  
  5. uses
  6.   Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  7.   Dialogs, StdCtrls, ExtCtrls, NCTAUDIOEDITOR2Lib_TLB, ComCtrls;
  8.  
  9. type
  10.   TfrmAdv = class(TForm)
  11.     btnClose: TButton;
  12.     Label2: TLabel;
  13.     Image2: TImage;
  14.     gbOther: TGroupBox;
  15.     Label1: TLabel;
  16.     procedure FormShow(Sender: TObject);
  17.     procedure FormCreate(Sender: TObject);
  18.   private
  19.     { Private declarations }
  20.   public
  21.     { Public declarations }
  22.     m_Rec: Boolean;
  23.     Dev: IAudioEditor2Device;
  24.     procedure AdvClick(Sender: TObject);
  25.     procedure AdvChange(Sender: TObject);
  26.   end;
  27.  
  28. var
  29.   frmAdv: TfrmAdv;
  30.  
  31. implementation
  32.  
  33. uses Devices;
  34.  
  35. {$R *.dfm}
  36.  
  37. //---------------------------------------------------------------------------
  38.  
  39. procedure TfrmAdv.AdvClick(Sender: TObject);
  40. var
  41.     ch: TCheckBox;
  42.     sVar: VARIANT;
  43. begin
  44.     ch := TCheckBox(Sender);
  45.  
  46.     if (ch.Checked=True) then
  47.         sVar.boolVal:=True
  48.     else
  49.         sVar.boolVal:=False;
  50.  
  51.     Dev.DeviceLines.set_AdvancedValue(ch.Tag,sVar);
  52. end;
  53. //---------------------------------------------------------------------------
  54.  
  55. procedure TfrmAdv.AdvChange(Sender: TObject);
  56. var
  57.     tb: TTrackBar;
  58.     sVar: VARIANT;
  59. begin
  60.     tb := TTrackBar(Sender);
  61.     sVar.lVal:=tb.Position;
  62.     Dev.DeviceLines.set_AdvancedValue(tb.Tag,sVar);
  63. end;
  64. //---------------------------------------------------------------------------
  65.  
  66. procedure TfrmAdv.FormShow(Sender: TObject);
  67. var
  68.     n: Integer;
  69.     i: Integer;
  70.     a: Variant;
  71.     cap: AnsiString;
  72.     ch: TCheckBox;
  73.     tb: TTrackBar;
  74.     l: TLabel;
  75. begin
  76.     Caption := 'Advanced Properties for ' + Dev.DeviceLines.Name; //sets the title of the form as 'Advanced Properties for ' + 'output source name'
  77.     n :=Dev.DeviceLines.AdvancedCount;
  78.     for i := 0 to n do begin
  79.         a := Dev.DeviceLines.get_AdvancedValue(i);
  80.         cap := IntToStr(i+1)+' '+Dev.DeviceLines.get_AdvancedName(i);
  81.         if (VarType(a) = varBoolean) then begin
  82.             ch := TCheckBox.Create(gbOther);
  83.             ch.Parent := gbOther;
  84.             ch.Left := 16;
  85.             ch.Width := 220;
  86.             ch.Height := 17;
  87.             ch.Top := 80 + i * 23;
  88.             ch.Caption := cap;
  89.             ch.Tag := i;
  90.             ch.Checked := a;
  91.             ch.Name := 'ch' + IntToStr(i);
  92.             ch.OnClick := AdvClick;
  93.         end else begin
  94.             tb := TTrackBar.Create(gbOther);
  95.             tb.Parent := gbOther;
  96.             tb.Left := 16;
  97.             tb.Width := 109;
  98.             tb.Height := 17;
  99.             tb.Top := 80 + i * 23;
  100.             tb.Tag := i;
  101.             tb.ThumbLength := 10;
  102.             tb.Max := 65535;
  103.             tb.Frequency := 5000;
  104.             tb.Position := a;
  105.             tb.Name := 'tb' + IntToStr(i);
  106.             tb.OnChange := AdvChange;
  107.             l := TLabel.Create(gbOther);
  108.             l.Parent := gbOther;
  109.             l.Left := 145;
  110.             l.Height := 17;
  111.             l.Top := 80 + i * 23;
  112.             l.Caption := cap;
  113.         end;
  114.         gbOther.Height := 113 + Dev.DeviceLines.AdvancedCount * 23;
  115.         btnClose.Top := gbOther.Top + gbOther.Height + 8;
  116.         Height := gbOther.Top + gbOther.Height + 70;
  117.     end;
  118. end;
  119. //---------------------------------------------------------------------------
  120. procedure TfrmAdv.FormCreate(Sender: TObject);
  121. begin
  122.     Dev := frmDevices.Dev;
  123. end;
  124.  
  125. end.
  126.